/* Araujo Heiker CI. 19726991
 * Goyo Willandher CI.20666542
 * Rodriguez Rafael CI.20009872
 * Williams Roman CI.20016812 
 * Morett Gilberth CI.20929667*/

package controlador;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Vector;

import modelo.Drogueria;
import modelo.FacturaCompra;
import modelo.Producto;

import vista.VentanaFacturaPrincipal;

;

public class ControladorVentanaFacturaPrincipal implements ActionListener,
		KeyListener {
	private VentanaFacturaPrincipal ventanafacturaprincipal;
	private Drogueria drogueria;

	public ControladorVentanaFacturaPrincipal(Drogueria drogueria) {
		this.drogueria = drogueria;
		ventanafacturaprincipal = new VentanaFacturaPrincipal();
		ventanafacturaprincipal.setLocationRelativeTo(null);
		ventanafacturaprincipal.setVisible(true);
		ventanafacturaprincipal.agregarListener(this);
		
		cargarListado();
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equalsIgnoreCase("Incluir")) {
			clickIncluir();
			new ControladorVentanaFacturaCompra(drogueria, "Incluir", null);
		} else if (e.getActionCommand().equalsIgnoreCase("Buscar")) {
		
		} else if (e.getActionCommand().equalsIgnoreCase("Consultar")) {
			if (ventanafacturaprincipal.numeroFilasSeleccionadas() == 0) {
				ventanafacturaprincipal
						.mostrarMensaje(" No ha seleccionado ninguna facutura");
			} else {
				String codigoFactura = ventanafacturaprincipal
						.getSelectedCodigoFactura();
				new ControladorVentanaFacturaCompra(drogueria, "Consultar",
						codigoFactura);
			}
		}	}

	public void clickIncluir() {

		try {

			ventanafacturaprincipal.dispose();
			this.finalize();
		} catch (Throwable e1) {
			e1.printStackTrace();
		} finally {
		}
	}

	public void cargarListado() {
		ArrayList<FacturaCompra> facturaCompra = drogueria.getFacturasCompra();
		for (int i = 0; i < drogueria.cantidadFacturaCompra(); i++) {
			FacturaCompra facturacompra = facturaCompra.get(i);
			Vector<String> datoFactura = new Vector<String>(3, 1);
			String codigo = facturacompra.getNumeroFactura();
			String nombre = facturacompra.getProveedor().getNombre() + " "
					+ facturacompra.getProveedor().getDireccion();
			SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
			String fechaEmision = dateFormat.format(facturacompra
					.getFechaEmision());
			datoFactura.add(codigo);
			datoFactura.add(nombre);
			datoFactura.add(fechaEmision);
			ventanafacturaprincipal.agregarFilaFactura(datoFactura);

		}

	}

	@Override
	public void keyTyped(KeyEvent e) {
		// TODO Auto-generated method stub

	}

	@Override
	public void keyPressed(KeyEvent e) {
		
	}

	@Override
	public void keyReleased(KeyEvent e) {
		// TODO Auto-generated method stub

	}

}
